home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 1 / fizz23.zip / FIZZ23.DOC < prev   
Text File  |  1988-02-08  |  12KB  |  321 lines

  1.      FIZZ ver2.3  copyright 1987,8 by Blue Skies, Inc., all rights reserved
  2.                                         
  3.                                         
  4. PURPOSE:
  5.  
  6.      FIZZ adds 'zip' to your favorite file utilities:
  7.      
  8.           A. FIZZ expands "wildcards" (*,?)
  9.           B. FIZZ accepts multiple arguments
  10.           C. FIZZ understands 'NOT' (!) search specifications
  11.           D. FIZZ handles normal pathnames and multiple drive specs
  12.           E. FIZZ remembers which commands do their own wildcards
  13.           F. FIZZ takes arguments from a file or the command line
  14.           
  15.      Have you ever wanted to type:
  16.           
  17.           DEL *.bak *.old
  18.           
  19.                   OR
  20.           
  21.           TYPE c:\bin\*.bat
  22.           
  23.      but you couldn't because:
  24.      
  25.           "del" won't accept multiple arguments, and
  26.           "type" won't expand wildcards?
  27.      
  28.      NOW use FIZZ, and you CAN:
  29.      
  30.           fizz DEL *.bak *.old
  31.           
  32.                   AND
  33.           
  34.           fizz TYPE c:bin\*.bat
  35.           
  36.      FIZZ works well with DOS commands (del, type, dir), batch files, compilers,
  37.      listers, editors ... any program requiring a file specification as its last
  38.      (or only) argument.
  39.           
  40.           
  41. INVOCATION:
  42.  
  43.          fizz [-lcbo] <command> <arg1> ... <argn>  {NORMAL}
  44.      
  45.      OR: fizz -f[lcbo] <command> <file_name>       {ARGS FROM FILE}
  46.      
  47.      OR: fizz -[dg] [<mem_file_name>]              {MEM TO/FROM FILE}
  48.      
  49.      OR: fizz [help]                               {INVOKE HELP}
  50.      
  51.         -l   LIST each file before executing
  52.         -c   CONFIRM each file before executing (for DEL et al.)
  53.         -b   'BINDING delimiters' are 1st two chars in next arg
  54.         -o   redirect output to OVERWRITE each file (for SED et al.)
  55.         -f   FILE_name contains argument(s)
  56.         -d   DUMP memory to ASCII file; then clear memory
  57.         -g   GET memory from ASCII file; overwrite/add-to current mem
  58.      
  59.      EXAMPLES:
  60.      
  61.           fizz DIR a: b:
  62.           
  63.           fizz -c DEL !*.c
  64.      
  65.           fizz TYPE \dir1\dir2\src?.c
  66.      
  67.  
  68. TUTORIAL:
  69.  
  70.      Give FIZZ a try (it's easier to use than it looks).  You'll be surprised
  71.      how much punch it'll give your favorite utilities.
  72.      
  73.      
  74.      A. Basic operation --
  75.      
  76.      FIZZ should work with any program that looks for a file name as its only
  77.      (or last) argument.  The DOS commands "del" and "type" qualify, as does the
  78.      DOS copy command, "copy".
  79.      
  80.      These commands can now expand wildcards and accept multiple arguments,
  81.      simply by preceding the desired command with "fizz ".
  82.      
  83.      To get
  84.      
  85.           dir a:*.c b:*.doc
  86.           
  87.      simply precede the "dir" with "fizz ", and type:
  88.      
  89.           fizz dir a:*.c b:*.doc
  90.           
  91.      and you will get directories of all files on drive a: with extension ".c",
  92.      PLUS all files on drive b: with extension ".doc".
  93.      
  94.      With respect to wildcard expansion, FIZZ can tell your file utility to
  95.      EXCLUDE as well as include:
  96.      
  97.           fizz del !*.c
  98.           
  99.      would result in deleting all files EXCEPT those with ".c" extensions.
  100.      
  101.      You can specify multiple excluding conditions by concatenating up to 20 of
  102.      them in a single argument:
  103.      
  104.           fizz del !*.c!*.bat
  105.           
  106.      would result in deleting ALL files except *.c AND *.bat.
  107.      
  108.      WARNING!!
  109.      
  110.           NOT specifications concatenated in a single argument have the sense of
  111.           "AND", but NOT specifications named in separate arguments have the
  112.           sense of "OR" --
  113.      
  114.           fizz del !*.c !*.bat
  115.      
  116.           would result in deleting ALL files except *.c; then deleting all files
  117.           except *.bat -- thereby DELETING ALL FILES!
  118.      
  119.      
  120.      B. Binding/Clustering --
  121.      
  122.           1. In some cases, you might want to use FIZZ with a program that uses
  123.           flags of its own, as with "ls -l".  Just type:
  124.           
  125.                fizz "ls -l" a:*.c b:*.doc
  126.                
  127.           because the two double quotes (") function as 'binding delimiters',
  128.           and will 'bind' together the command cluster (LS and its flag, -l).
  129.           FIZZ will therefore execute:
  130.           
  131.                ls -l a:*.c
  132.                ls -l b:*.doc
  133.           
  134.           2. FIZZ also permits argument clustering, as with:
  135.           
  136.                fizz copy "file1 file2" "file3 file4" "file5 file6"
  137.                
  138.           resulting in:
  139.           
  140.                copy file1 file2
  141.                copy file3 file4
  142.                copy file5 file6
  143.                
  144.           3. As an example of command and argument clustering:
  145.           
  146.                fizz "copy file1" file2 file3 file4,
  147.                
  148.           resulting in:
  149.           
  150.                copy file1 file2
  151.                copy file1 file3
  152.                copy file1 file4
  153.           
  154.           4. FIZZ can accommodate any ASCII characters as binding delimiters, so
  155.           if you prefer square brackets ([]) to double quotes (""), type:
  156.           
  157.                fizz -b [] [ls -l] a:*.c b:*.doc
  158.                
  159.           and the "-b" flag will install the next argument ([]) as binding
  160.           delimiters, giving the same result as "1.", above.
  161.                
  162.      IMPORTANT NOTE!!
  163.           Wildcard expansion is inhibited within binding delimiters.
  164.           
  165.                
  166.      C. Memory --
  167.           
  168.      When FIZZ is used with a command that can expand its own wildcards, it is
  169.      usually best to "pass along" any wildcards to that command.
  170.           
  171.      FIZZ has a memory and can learn up to 200 commands, remembering whether or
  172.      not to "pass along" wildcards to each of them.
  173.           
  174.      FIZZ can learn about commands in two ways:
  175.           
  176.           1. Every time FIZZ is used with a command for the first time, you will
  177.           be asked if that command can expand its own wildcards.
  178.                
  179.           You can specify n=no, y=yes, or <CR> = I don't know:
  180.                
  181.                n=no -- FIZZ will expand wildcards itself.
  182.                
  183.                     FIZZ will remember your answer together with the command
  184.                     name (you won't be asked about that command again).
  185.                
  186.                y=yes -- FIZZ will "pass on" wildcards to the command.
  187.                
  188.                     FIZZ will remember your answer together with the command
  189.                     name (you won't be asked about that command again).
  190.                
  191.                <CR> = I don't know -- FIZZ will "pass on" wildcards to the
  192.                command.
  193.                
  194.                     FIZZ ignores "I don't know", so you'll be asked the question
  195.                     each time the command is used, until you answer "yes" or
  196.                     "no".
  197.           
  198.           2. FIZZ can read a list of command names and specifications from an
  199.           ASCII file.
  200.           
  201.                Each line consists of a name followed by a space and number:
  202.                
  203.                     dir 2
  204.                     DIR 2
  205.                     list 1
  206.                     ls 2
  207.                
  208.                where --
  209.                
  210.                the name is the name of a command (case sensitive!) and
  211.                the number is a "2" (the command can expand wildcards)
  212.                 or a "1" (command cannot expand wildcards).
  213.                
  214.                Here's how:
  215.                
  216.                a. Create an ASCII file called "fizz.mem".
  217.                b. Enter command/specification information as shown above.
  218.                c. After the file is created, invoke "fizz -g".
  219.                
  220.           WHAT IF YOU MAKE A MISTAKE?
  221.                
  222.                a. Invoke "fizz -d"
  223.                      (answer 'n' to the 'clear memory?' question).
  224.                b. Edit the file "fizz.mem".
  225.                c. Correct the errors.
  226.                d. Invoke "fizz -g".
  227.           
  228.           NOTE: Each time FIZZ learns commands, it will update any fizz.exe file
  229.           it finds in both the current directory AND in any directory(ies)
  230.           defined in your PATH.
  231.           
  232.           DON'T WORRY!  Fizz (2.1 and later) only updates duplicates of itself;
  233.           other versions or other files that might be named "fizz.exe" will not
  234.           be touched.
  235.           
  236.           REMEMBER:
  237.           
  238.                a. Case is important ("DIR" is different from "dir").
  239.                b. If there are multiple file entries for the same command
  240.                       name, FIZZ will remember only the last one.
  241.  
  242.      
  243.      D. Flags --
  244.      
  245.      FIZZ offers seven "flag" options:
  246.      
  247.           -l   causes FIZZ to LIST the command line before executing it,
  248.                for each file found.  This would allow you to keep track of
  249.                FIZZ's progress, as in:
  250.                
  251.                     fizz -l type *.txt >>tmp.lst
  252.                
  253.           -c   causes FIZZ to list the command line and request
  254.                CONFIRMATION before executing it, for each file found.
  255.                For instance, when using FIZZ with DEL, you might type:
  256.                     
  257.                     fizz -c del *.bak *.old junk
  258.                     
  259.                so that you could individually confirm each file deletion.
  260.                
  261.           -b   enables you to redefine "BINDING delimiters"
  262.                (see "clustering" above).
  263.           
  264.           -o   was designed for use with "stream editor" and similar programs,
  265.                and causes FIZZ to generate command lines that redirect
  266.                standard output to OVERWRITE each input file, as it is
  267.                editted.
  268.           
  269.           -f   tells FIZZ to get ARGUMENTS from the named ASCII FILE.
  270.           
  271.           -d   tells FIZZ to DUMP its MEMORY of known commands to the named
  272.                ASCII file.  If no file is named, a default name
  273.                (fizz.mem) is used. (see "memory", above)
  274.           
  275.           -g   tells FIZZ to GET commands for its MEMORY from the named
  276.                ASCII file.  If no file is named, a default name
  277.                (fizz.mem) is used. (see "memory", above)
  278.           
  279.           REMEMBER:
  280.                
  281.                Flags "-d" and "-g" must be used by themselves; all other flags
  282.                may be used in any combination.
  283.           
  284.                
  285. LEGAL:
  286.  
  287.      A. You may copy and distribute this program freely, provided that:
  288.           
  289.           1. no fee is charged for such copying and distribution, and
  290.           
  291.           2. it is distributed ONLY in its original, unmodified state.
  292.      
  293.      B. If you decide to keep this program, a donation - whatever you think is
  294.      fair - may be sent to:
  295.           
  296.           Blue Skies, Inc.
  297.           P.O. Box 5
  298.           Glen Gardner, N.J.  08826
  299.      
  300.      C. Although we (Blue Skies, Inc.) have tried our best to make this program
  301.      useful and safe, you do use it AT YOUR OWN RISK.
  302.      
  303.      We make no warranties as to the suitability or performance of this program,
  304.      and we will not be held liable for damages related to its use.
  305.      
  306.      
  307. REVISION HISTORY:
  308.  
  309.      1.4    baseline
  310.      
  311.      2.0    changed '/' switches to '-' style
  312.             changed method of defining new binding delimiter
  313.             added -g,-d capability
  314.             added -f capability
  315.             added '!' capability
  316.           
  317.      2.1    checks so only updates dups of self
  318.             added multiple '!' capability
  319.           
  320.      2.3    prev. versions couldn't distinguish between "arc" and "pkxarc"
  321.